{ "cells": [ { "cell_type": "markdown", "id": "11b2bef2", "metadata": {}, "source": [ "# Loading A Custom Box Model in MusicBox\n", "\n", "MusicBox has two primary ways of loading custom box models, being:\n", "* from a pre-made example configuration path, and\n", "* from your own JSON file.\n", "\n", "Both of these will be looked at in this tutorial.\n", "Note: These configuration files will cover every aspect of the box model, being the initial and evolving conditions, the box model configurations, as well as the mechanism containing the species, reactions, and phases." ] }, { "cell_type": "markdown", "id": "9e250207", "metadata": {}, "source": [ "## 1. Loading Pre-made Box Model Examples\n", "\n", "MusicBox has a couple of built in examples that are formatted as JSON files through the Examples class.\n", "These are accessed through the path attribute in each example.\n", "Once accessed, it can be loaded into the box model through the loadJson() function, which takes in the path as a parameter.\n", "The supported examples include:\n", "* [Analytical](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/analytical),\n", "* [CarbonBond5](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/carbon_bond_5),\n", "* [Chapman](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/chapman),\n", "* [FlowTube](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/flow_tube),\n", "* [TS1](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/ts1), and\n", "* [WACCM](https://github.com/NCAR/music-box/tree/main/src/acom_music_box/examples/configs/waccm).\n", "\n", "This code features the Analytical example, but feel free to test any of them by switching out the name where Analytical is in Examples.Analytical.path.\n", "To load, run, and visualize an example box model:" ] }, { "cell_type": "code", "execution_count": 1, "id": "4ab7a11a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " \r" ] }, { "data": { "text/html": [ "
\n", " | time.s | \n", "ENV.temperature.K | \n", "ENV.pressure.Pa | \n", "ENV.air number density.mol m-3 | \n", "CONC.A.mol m-3 | \n", "CONC.B.mol m-3 | \n", "CONC.C.mol m-3 | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "0.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.800000 | \n", "2.000000e-01 | \n", "0.300000 | \n", "
1 | \n", "6.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.775723 | \n", "3.979221e-08 | \n", "0.524277 | \n", "
2 | \n", "12.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.752182 | \n", "3.858465e-08 | \n", "0.547818 | \n", "
3 | \n", "18.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.729356 | \n", "3.741374e-08 | \n", "0.570644 | \n", "
4 | \n", "24.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.707222 | \n", "3.627836e-08 | \n", "0.592777 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
96 | \n", "576.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.041522 | \n", "2.129939e-09 | \n", "1.258478 | \n", "
97 | \n", "582.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.040262 | \n", "2.065302e-09 | \n", "1.259738 | \n", "
98 | \n", "588.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.039040 | \n", "2.002627e-09 | \n", "1.260960 | \n", "
99 | \n", "594.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.037855 | \n", "1.941854e-09 | \n", "1.262145 | \n", "
100 | \n", "600.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.036706 | \n", "1.882926e-09 | \n", "1.263294 | \n", "
101 rows × 7 columns
\n", "\n", " | time.s | \n", "ENV.temperature.K | \n", "ENV.pressure.Pa | \n", "ENV.air number density.mol m-3 | \n", "CONC.A.mol m-3 | \n", "CONC.B.mol m-3 | \n", "CONC.C.mol m-3 | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "0.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.800000 | \n", "2.000000e-01 | \n", "0.300000 | \n", "
1 | \n", "6.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.775723 | \n", "3.979221e-08 | \n", "0.524277 | \n", "
2 | \n", "12.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.752182 | \n", "3.858465e-08 | \n", "0.547818 | \n", "
3 | \n", "18.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.729356 | \n", "3.741374e-08 | \n", "0.570644 | \n", "
4 | \n", "24.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.707222 | \n", "3.627836e-08 | \n", "0.592777 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
96 | \n", "576.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.041522 | \n", "2.129939e-09 | \n", "1.258478 | \n", "
97 | \n", "582.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.040262 | \n", "2.065302e-09 | \n", "1.259738 | \n", "
98 | \n", "588.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.039040 | \n", "2.002627e-09 | \n", "1.260960 | \n", "
99 | \n", "594.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.037855 | \n", "1.941854e-09 | \n", "1.262145 | \n", "
100 | \n", "600.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.036706 | \n", "1.882926e-09 | \n", "1.263294 | \n", "
101 rows × 7 columns
\n", "